0 REM GRANDPRIX BY C.R.WRIGHT 1 REM 2 POKE53280,1:POKE53281,1:POKE646,15:GOTO2000 3 PRINTCHR$(8):HS=0:DIMTR$(17) 5 PRINT"[147][154]DO YOU REQUIRE INSTRUCTIONS (Y OR N)" 6 GETA$:IFA$=""THEN6 7 IFA$="N"THEN10 8 IFA$="Y"THEN1000 9 GOTO6 10 PRINT"[147]";:S=0 12 SN=54272:LN=SN:HN=SN+1:VL=SN+24:WV=SN+4:AD=SN+5 13 REM INITIAL SETUP AND MAIN START LOGO 20 CL$(1)="":CL$(2)="[154]":CL$(3)="[129]":CL$(4)="[150]" 25 FORI=1TO4:PRINTCL$(I);:GOSUB30:PRINT:NEXT:GOTO90 30 PRINT" [166][166] [166][166][166] [166] [166] [166] [166][166][166] [166][166][166] [166][166][166] [166] [166] [166]" 40 PRINT" [166] [166] [166] [166] [166] [166][166] [166] [166] [166] [166] [166] [166] [166] [166] [166]" 50 PRINT" [166] [166] [166][166] [166][166][166] [166][166][166] [166] [166] [166][166][166] [166][166] [166] [166]" 60 PRINT" [166] [166] [166] [166] [166] [166] [166][166] [166] [166] [166] [166] [166] [166] [166] [166]" 70 PRINT" [166] [166] [166] [166] [166] [166] [166] [166][166] [166] [166] [166] [166] [166] [166]" 80 RETURN 90 PRINT""; 100 PRINT""; 105 PRINT" " 110 PRINT"[156] BY C.R.WRIGHT " 115 PRINT" " 120 PRINT""; 130 FORK=1TO3:PRINT" ":NEXT 140 PRINT"[145][145]"; 150 MS$=" A [209]COMPUTERS GAME " 155 PRINT""; 160 FORK=1TOLEN(MS$):PRINTMID$(MS$,K,1);:FORI=1TO30:NEXT:NEXT:PRINT 170 PRINT""; 180 PRINT" [144] PRESS ANY KEY TO BEGIN[154]"; 190 A=PEEK(197):IFA=64THEN190 199 REM LEVEL SELECT 200 PRINT"[147]" 201 PRINT"[150]SELECT LEVEL:-" 202 PRINT"[154]1:TOO EASY, FOR THE NOVICE" 203 PRINT"2:VERY EASY" 204 PRINT"3:EASIER, FOR THE BEGINNER" 205 PRINT"4:SLIGHTLY EASIER" 206 PRINT"5:FOR AVERAGE PLAYERS" 207 PRINT"6:FOR THE ABOVE AVERAGE" 208 PRINT"7:STILL HARD" 209 PRINT"8:NEARLY AS HARD AS LEVEL 9" 210 PRINT"9:VERY HARD, FOR THE EXPERT" 211 L=PEEK(197):IFL=64THEN211 212 IFL=56ORL=59ORL=8ORL=11ORL=16ORL=19ORL=24ORL=27ORL=32THEN214 213 GOTO211 214 GOSUB4500:POKEAD,240 215 PRINT"[147]":PC=1024+20:PL=55296+20 216 REM MORE SETUP ROUTINES 217 FORK=1TO13:TR$(K)="[160][166] [166][160]":NEXTK 218 TR$(14)="[160][166][154] [146] [166][160]":TR$(15)="[160][166] [154] [146] [166][160]" 219 TR$(16)="[160][166] [154] [146] [166][160]":TR$(17)="[160][166] [154] [146] [166][160]" 220 TA=15:POKEPC,90:POKEPL,8 230 FORK=1TO23:PRINTTAB(TA);TR$(1):GOSUB4000:NEXT 231 POKEPC,90:POKEPL,8 235 POKE198,0 240 PRINTTAB(TA+1);"[166][129][192][192][192][192][192][192][166]":D=0 250 REM MAIN GAME LOOP 260 POKEPC,90:POKEPL,8:POKEPC-1,32:POKEPC+1,32:D=INT(4*RND(1)+1) 263 GOSUB4000 270 IFD=1THENTA=TA-1:IFTA<1THENTA=1 280 IFD=2THENTA=TA+1:IFTA>29THENTA=29 290 IFD=3ORD=4THENTA=TA+0 300 IFL<=40THENF=INT(5*RND(1)+13):PRINTTAB(TA);TR$(F):GOTO305 301 IFL<=80THENE=INT(10*RND(1)+8):PRINTTAB(TA);TR$(E):GOTO305 302 IFL>80THENT=INT(17*RND(1)+1):PRINTTAB(TA);TR$(T) 305 IFPEEK(PC)=102ORPEEK(PC)=96ORPEEK(PC)=160THEN500 306 POKEPC,90:POKEPL,8:IFL<>0THENFORI=1TOL:NEXT 308 S=S+1:GETA$:IFA$=""THEN260 309 IFA$="A"THENPC=PC-1:PL=PL-1:GOSUB4100 310 IFA$="S"THENPC=PC+1:PL=PL+1:GOSUB4100 320 GOTO260 499 REM GAME OVER AND SCORE ROUTINE 500 POKEPC-40,32:POKEPC-41,32:POKEPC-39,32:POKEPC,87:FORK=4TO7:POKEPL,K 510 IFK=6THENPOKEPL,14 520 FORZ=1TO50:NEXT:NEXT:GOSUB4200 530 PRINT"[147] [154]GAME[146] OVER[146]" 540 PRINT"YOUR SCORE WAS:"; 550 LE=ABS(LE-10):S=S*LE:PRINT"[150]";S:PRINT"HIGH SCORE IS:";HS;"[154]" 590 IFS4THEN10 740 PRINT"[147][154]";CHR$(9);:POKE808,237:POKE198,0:END 1000 REM INSTRUCTIONS 1010 PRINT"[147]";:GOSUB30 1020 PRINT" [150]BY C.R.WRIGHT 1983" 1030 PRINT"[154]"; 1040 PRINT" THE OBJECT OF THIS GAME IS TO GET AS" 1050 PRINT"FAR INTO THE RACING TRACK AS POSSIBLE" 1060 PRINT"WITH YOUR CAR [129][218][154]. THE TRACK IS BORDERED" 1070 PRINT"WITH BEACONS [166] [166][154] AND THERE ARE ALSO"; 1080 PRINT"MANY OBSTACLES  [146] TO AVOID." 1090 PRINT" YOUR CONTROLS ARE AS FOLLOWS:-" 1100 PRINT 1110 PRINT" [156]A[154] - [156][218][154] - [156]S[154]" 1120 PRINT" THERE ARE 9 LEVELS OF PLAY AND THE" 1130 PRINT"HARDER THE LEVEL THE MORE OBSTACLES AND" 1140 PRINT"THE MORE SPEED!!!" 1160 PRINT"[144]PRESS ANY KEY TO BEGIN[154]" 1170 GETA$:IFA$=""THEN1170 1180 GOTO10 2000 REM INITIALIZE ROUTINE AND MACHINE CODE DATA 2010 PRINT"[147][150]PLEASE WAIT[154]":RESTORE 2030 FORE=49152TO49283:READN:POKEE,N:NEXT 2040 SYS49152:CLR:SYS49161 2045 FORE=49152TO49283:READN:NEXT 2050 FORE=1TO6:READN:FORJ=1TO8:READN(J):NEXT:QZ=0 2060 FORK=12288+(8*N)TO12288+(8*N)+7:QZ=QZ+1:POKEK,N(QZ):NEXT:NEXTE 2070 POKE808,239:GOTO3 3000 DATA169,48,141,52,0,141,56,0,96,169,0,141,14,220,169,51,141,1,0,162,0,189 3010 DATA0,208,157,0,48,189,0,209,157,0,49,189,0,210,157,0,50,189,0,211,157,0 3020 DATA51,189,0,212,157,0,52,189,0,213,157,0,53,189,0,214,157,0,54,189,0,215 3030 DATA157,0,55,232,224,255,208,203,173,255,208,141,255,48,173,255,209,141 3040 DATA255,49,173,255,210,141,255,50,173,255,211,141,255,51,173,255 3050 DATA212,141,255,52,173,255,213,141,255,53,173,255,214,141,255,54,169,55 3060 DATA141,1,0,169,1,141,14,220,169,28,141,24,208,96 3070 REM CHARACTER DATA 3080 DATA90,195,255,219,24,219,255,219,24 3090 DATA102,255,255,66,90,90,66,255,255 3100 DATA160,255,129,189,189,189,189,129,255 3110 DATA81,240,216,240,216,247,12,12,7 3120 DATA0,60,66,157,161,161,157,66,60 3130 DATA87,130,85,154,16,8,178,77,130 3999 REM SOUND SUBROUTINES 4000 POKEVL,15:POKEWV,32:POKEHN,55:POKELN,55:POKEVL,0:RETURN 4100 POKEVL,15:POKEWV,32:POKEHN,255:POKELN,255:POKEVL,0:RETURN 4200 POKEAD,9:POKEWV,129:POKEHN,3:POKELN,0 4210 FORQ=15TO12STEP-.01:POKEVL,Q:NEXT 4220 POKEWV,128:POKEVL,0:RETURN 4300 POKEAD,9:POKEWV,17:POKEHN,45:POKELN,55 4310 FORQ=15TO0STEP-.1:POKEVL,Q:NEXT 4320 POKEWV,16:RETURN 4500 REM LEVEL OF PLAY CONVERSIONS 4510 IFL=56THENLE=1 4520 IFL=59THENLE=2 4530 IFL=8THENLE=3 4540 IFL=11THENLE=4 4550 IFL=16THENLE=5 4560 IFL=19THENLE=6 4570 IFL=24THENLE=7 4580 IFL=27THENLE=8 4590 IFL=32THENLE=9 4600 L=ABS(LE-9)*14.5 4605 LE=ABS(LE-10) 4610 RETURN